package no.kolstad.movies.service;

import java.util.Iterator;
import java.util.List;
import no.kolstad.movies.dao.MovieDAO;
import no.kolstad.movies.dao.UserDAO;
import no.kolstad.movies.model.Movie;
import no.kolstad.movies.model.User;

/**
 *  Copyright [2008] Christopher Kolstad
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
 * Unless required by applicable law or agreed to in writing, software distributed under the License 
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and limitations under the License. 
 */

/***
 * @author chriswk - Christopher Kolstad
 */
 
public class MovieService {
    private MovieDAO movieDao;
    private UserDAO userDao;
    
    public void setMovieDAO(MovieDAO dao) {
        this.movieDao = dao;
    }
    
    public void setUserDAO(UserDAO dao) {
        this.userDao = dao;
    }
   
    public void addMovie(User u, Movie m) {
      m.setOwner(u);
      movieDao.save(m);
    }
    
    public void removeMovie(User u, Movie m) {
        movieDao.remove(m);
    }
    
    public void updateMovie(Movie m) {
      movieDao.save(m);
    }
    
    public void deleteMoviesForUser(User u) {
        List<Movie> movies = movieDao.getAllMoviesForUser(u);
        Iterator<Movie> iter = movies.iterator();
        while(iter.hasNext()) {
            Movie m = iter.next();
            removeMovie(u, m);
        }
    }
    
}
